package com.ccp.dev.qbdms.expimp.annotation;

import java.lang.annotation.*;

@Target({ElementType.FIELD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface ImpAnnotation {
    /**
     * 字段描述
     */
    String description() default "";

    /**
     * 是否是子表
     */
    boolean isSubTable() default false;

    /**
     * 是否需要转换
     * 会根据当前字段的值，当做key获取value 最终导出的为value值
     * <code>
     *     @ExpAnnotation(description = "密级",jsonParse = "{\"1\":\"公开\",\"2\":\"内部\",\"3\":\"秘密\",\"4\":\"机密\"}")
     * </code>
     */
    String jsonParse() default ""   ;

    /**
     * 时间格式转换
     * <code>
     *     @ExpAnnotation(description = "问题发生时间",format = "yyyy-MM-dd hh:mm;ss")
     * </code>
     */
    String format() default "yyyy-MM-dd";

    /**
     * 是否必填
     */
    boolean isRequired() default false;

    /**
     * 数据字典
     */
    String dicKey() default "";
}
